/*****************************************************************/ Welcome to Borland C++ Release 5.02 ------------------------------------------------------------------ This README file contains important information about Borland C++. For information about OWL updates, see \BC5\DOCS\OWL5.TXT. -------- CONTENTS -------- * Contacting Borland * Online Licenses * Redistributable Files List * New IDE Features * Incremental Linker * Interoperability with Borland C++Builder * New Scripting Features * New Resource Workshop Features * Issues ------------------ Contacting Borland ------------------ Borland offers a range of services to provide comprehensive product information, updates, and product services. You can get more information on Borland C++ by contacting any of these resources: World Wide Web: http://www.borland.com/ Tech Info page: http://www.borland.com/TechInfo/ FTP: ftp.borland.com Up & Running: (408) 461-9133 (Installation support) Listserv: listserv@borland.com Send an email message containing this text: SUBSCRIBEBCPPFIRSTNAMELASTNAME --------------- Online Licenses --------------- Borland now provides the software license online. Refer to the file license.txt in the root directory of the CD for details. -------------------------- Redistributable Files List -------------------------- Refer to the file redist.txt for a list of redistributable files for Borland C++ 5.02. ---------------- New IDE Features ---------------- The IDE includes many usability enhancements in this release. They are listed briefly in the following sections. Refer to online Help for details. Compiler Enhancements --------------------- * New 32-bit compiler (BCC32.EXE) provided with this release * A Make following a failed Build All rebuilds from the point of failure * New compiler option under Options|Project|C++ Options| General called Zero-Length Empty Class Member Function (like -Vx) Editor Enhancements ------------------- * Read-only files identified by an "R" after the file name * Modified files include an asterisk (*) after the file name * Search|Replace includes a Change All option * IDE remembers the cursor position of the last 100 edit buffers that you closed * IDE automatically loads the Tips script to display tool tips * Cursor changes in left gutter to indicate that a click will drop a debugger breakpoint Debugging Enhancements ---------------------- * New options in Options|Environment|Debugger|Debugger Behavior: Do not save files or prompt when debugging and Do not prompt when attempting to run 16 bit applications * New option in Options|Project|Compiler|Debugging: Detach Debug Information from OBJs * Debugger status glyphs: Lightning bolt (if running) and Pause Process (if stepping or at breakpoint) * Debug menu: View Locals command creates Local Inspector (to watch local variables) when the IDE Debugger has a process loaded * The Watch window shows values in hex, decimal, or both formats * CPU View stack pane indicates the current position * While debugging, editor tooltips display the value of the symbol under the pointer Message Window Enhancements --------------------------- * An .RC file's source date and time format reflect the format of the country setting * The default position of the Message window has changed * You can use Ctrl+ A to clear the Build tab * Clear before Make/Build in Options|Environment|Preferences * Double-click on an unresolved external error message in the Build tab opens the file with the external reference Project Management Enhancements ------------------------------- * Project menu: Stop Background Task appears during an asynchronous build * Project window glyphs: A red check mark (node has Local Overrides) and a clock with a red X on it (node out of date and will be rebuilt on the next make) * The default position of the Project window has changed * Compatibility: Two new Project Options on the C++ Options|C++ Compatible dialog, Destructor Cleanup Compatibility and Class Layout Compatibility General Enhancements -------------------- * Preprocessor: Invoking the preprocessor automatically loads the output into the edit buffer * Syntax highlighting: Scope delimiters ) and } can be customized; preprocessor directives highlighted only instead of highlighting the whole line * File|Open dialog boxes: Enable filename completion available in Options|Environment|Preferences for files and directories * Keyboard Shortcuts: You can use Ctrl+S to find the ~, <, and > characters * Windows NT: Shutting down the computer now saves an open .IDE file. ------------------ Incremental Linker ------------------ Borland C++ provides an incremental linker that dramatically improves link times (after the initial link). To use it, check Incremental Linker on the Options|Project|Linker|32-bit Linker page. ---------------------------------------- Interoperability with Borland C++Builder ---------------------------------------- If you have Borland C++Builder, you can add the C++Builder .MAK makefiles as nodes to your BCW projects. Refer to BCW.HLP for more information. ---------------------- New Scripting Features ---------------------- * File maintenance/navigation script (DIRVIEW.SPP) * New method ProjectStopBackgroundTask() to terminate asynchronous build/make/compile/transfer * remove_view_menu_item function in MENUHOOK.SPP lets you remove IDE main menu items * SearchAll hot key changed from A to L. (A clears the Message tab.) ------------------------------ New Resource Workshop Features ------------------------------ * 32-bit custom control DLL support in Options|Environment|Resource Editors|Control Libraries * New menu command Dialog|Resize to Content * Dialog editor enhancements * Check for Duplicate ID on the Dialog menu * Dynamic IDE status bar * Entry of DBCS characters in the menu editor * Code page support in Resource compiler through -c switch and #pragma code_page(ID-num) ------ Issues ------ New 32-bit Compiler Rule ------------------------ The new 32-bit compiler implements a language requirement that may break some existing code. The new rule is that you cannot pass a temporary variable by reference--you must pass it by const reference. For example, given a function with this prototype: func1 (TMyClass& o); the following call used to be acceptable: func1 ( TMyClass() ); However, you must now change the call to: func1(TMyClass const & 0) Some of the OWL examples have not been updated for this new change. Command-Line Options -------------------- The command line compiler creates multithreaded applications by default. The -WM option is on by default. If using the -i and -s command-line options together, note that the -i must precede the -s to work properly. Compiler/Linker Errors ---------------------- If you receive the following compiler and linker error messages when you compile from the command line: Error: Unresolved external 'TApplication::Dispatch(TEventHandler::TEventInfo&,int,long)' referenced from module GDIDEMO.CPP Error: Unresolved external 'TWindow::Dispatch(TEventHandler::TEventInfo&,int,long)' referenced from module GDIDEMO.CPP it most likely means you are compiling as a multithreaded application, but are linking with the single-threaded OWL libs. This is because multithread is now the default application type. To remedy this, add -WM- to your options to turn multithreaded targeting off. Restricted Keywords ------------------- The following keywords are reserved for use in Borland C++Builder: __automated __classid __closure __dispid __property __published Don't use these in your Borland C++ programs. Multiple Declarations for HSZ ----------------------------- If the error Multiple Declarations for HSZ is displayed, you need to edit \BC5\INCLUDE\WN32\DDEML.H and include the following statement: #define __DDEML_H STL Stack --------- Although unlikely, if you want to use a stack of vectors of bools, you must define the following before any of the header files: #define RWSTD_NO_BOOL ------------------------ OpenHelp 6.0 Upgrade Kit ------------------------ The OHELP60 directory on the CD contains files that let you upgrade to OpenHelp 6.0. If you have C++Builder installed on the same computer as Borland C++, you already have OpenHelp 6.0. In this case, the upgrade merges the Borland C++ and C++Builder OPENHELP.INI files. See OPENHELP.HLP for information on using OPENHELP 6.0. Upgrading to OpenHelp 6.0 ------------------------- If you have only Borland C++ on your computer --------------------------------------------- Run OHELPNEW.BAT. This batch file takes one parameter: The parameter specifies the drive and directory in which BC5 is installed. Enter a colon with the drive letter, followed by the backslash and directory name, e.g. C:\BC5 Example: OHELPNEW C:\BC5 If you have Borland C++ and C++Builder on your computer ------------------------------------------------------- Run OHELPRPL.BAT. This batch file takes two parameters: The first parameter specifies the drive and directory in which BC5 is installed. Enter a colon with the drive letter, followed by the backslash and directory name, e.g. C:\BC5 The second parameter specifies the drive where Borland programs are installed. Enter the drive letter followed by a colon, e.g. D: Example: OHELPRPL C:\BC5 D: /************************* END OF FILE ***************************/